<?php

namespace App\Services;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;

/**
 * Class ClocksService
 * @package App\Services
 * @name 押韵模块
 */
class RhymeService
{
    /**
     * @param $request
     * @return array
     * @name 获取押韵数据
     * @user IHammer
     */
    public static function getKwdHandle($request){
        //获取数据
        $kwd = $request->get("kwd")?:"";
        $mortgage = $request->get("mortgage")?:"single"; //单押 双押 三押
        if(empty($kwd)){
            return [];
        }
        $kwd_search = "";
        switch($mortgage){
            case "single"://单押 截取最后一个字
                $kwd_search = mb_substr($kwd,-1,1,'utf-8');
                $post_data["alphabetic[]"]="拼音2";
                $post_data["intonation[]"]="语调3";
                break;
            case "double"://双押 截取最后两字
                $kwd_search = mb_substr($kwd,-2,2,'utf-8');
                $post_data["alphabetic[]"]="拼音2";
                $post_data["intonation[]"]="语调3";
                break;
            case "three"://三押 截取最后三个字
                $kwd_search = mb_substr($kwd,-3,3,'utf-8');
                $post_data["alphabetic[]"]="拼音2";
                $post_data["intonation[]"]="语调3";
                break;
            default://
                return [];
        }

        //筛选处理
        $url = "http://wanmeiyunjiao.com/fuzzy_search_json";
        $post_data["csrfmiddlewaretoken"]="ObCW3ymgHLwghX2CNt4PDAiuHrFSG9vA";
        $post_data["search"]=$kwd_search;

        $cookie = "csrftoken=ObCW3ymgHLwghX2CNt4PDAiuHrFSG9vA; csrf_token=ObCW3ymgHLwghX2CNt4PDAiuHrFSG9vA";
        $ret = @self::curl_request($url,$post_data,$cookie);
        if($ret){
            $words_res = json_decode($ret)->words_res;
            if(!empty($words_res)&&is_array($words_res)){
                return $words_res;
            }
            return [];
        }
        return [];
    }

    //御用Post
    static function curl_request($url,$post='',$cookie='', $returnCookie=0){
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)');
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
        curl_setopt($curl, CURLOPT_REFERER, "http://XXX");
        if($post) {
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));
        }
        if($cookie) {
            curl_setopt($curl, CURLOPT_COOKIE, $cookie);
        }
        curl_setopt($curl, CURLOPT_HEADER, $returnCookie);
        curl_setopt($curl, CURLOPT_TIMEOUT, 10);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $data = curl_exec($curl);
        if (curl_errno($curl)) {
            return curl_error($curl);
        }
        curl_close($curl);
        if($returnCookie){
            list($header, $body) = explode("\r\n\r\n", $data, 2);
            preg_match_all("/Set\-Cookie:([^;]*);/", $header, $matches);
            $info['cookie']  = substr($matches[1][0], 1);
            $info['content'] = $body;
            return $info;
        }else{
            return $data;
        }
    }

}